Efficient Stochastic Programming in Julia
نویسندگان
چکیده
We present StochasticPrograms.jl, a user-friendly and powerful open-source framework for stochastic programming written in the Julia language. The includes both modeling tools structure-exploiting optimization algorithms. Stochastic models can be efficiently formulated using an expressive syntax, instantiated, inspected, analyzed interactively. scales seamlessly to distributed environments. Small instances of model run locally ensure correctness, whereas larger are automatically memory-efficient way onto supercomputers or clouds solved parallel These solvers based on variations classical L-shaped, progressive-hedging, quasi-gradient provide concise mathematical background various constructs available along with code listings exemplifying their usage. Both software innovations related implementation algorithmic structured highlighted. conclude by demonstrating strong scaling properties algorithms numerical benchmarks multinode setup. Summary Contribution: This paper presents implemented syntax formulating as well versatile analysis will prove useful researchers, educators, industrial users alike. Researchers benefit from readily extensible framework, which they formulate complex quickly typeset test novel Educators clean syntax. Moreover, supports theory leading textbooks. strongly believe that StochasticPrograms.jl reduce barrier entry incoming practitioners programming. Industrial make use rapidly models, analyze small locally, then large-scale production. In doing so, get capabilities free without changing access well-tested state-of-the-art implementations solvers. As is open-source, anyone these target audiences contribute new functionality framework. conclusion, providing intuitive interface extensive development environment expert users, has potential further field
منابع مشابه
Probabilistic Programming in Julia New Inference Algorithms
In this thesis we look at the design and development of a Probabilistic Programming Language (PPL) in Julia named Turing and the challenges of implementing the Hamiltonian Monte Carlo (HMC) sampler inside the Turing framework. This dissertation starts with a review of three important fields behind the project, which are Bayesian inference, general inference algorithms and probabilistic programm...
متن کاملHigh-level GPU programming in Julia
GPUs are popular devices for accelerating scientific calculations. However, as GPU code is usually written in low-level languages, it breaks the abstractions of high-level languages popular with scientific programmers. To overcome this, we present a framework for CUDA GPU programming in the high-level Julia programming language. This framework compiles Julia source code for GPU execution, and t...
متن کاملEfficient Monte Carlo simulations for stochastic programming
This paper is concerned with chance constrained programming to deal with nonlinear optimization problems with random parameters. Specific Monte Carlo methods to evaluate the gradient and Hessian of probabilistic constraints are proposed and discussed. These methods are implemented in penalization optimization routines adapted to stochastic optimization. They are shown to reduce the computationa...
متن کاملEffective Extensible Programming: Unleashing Julia on GPUs
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in a low-level programming language. High-level languages are rarely supported, or do not integrate with the rest of the high-level language ecosystem. To overc...
متن کاملJulia: A fresh approach to parallel programming
The Julia programming language is gaining enormous popularity. Julia was designed to be easy and fast. Most importantly, Julia shatters deeply established notions widely held in the applied community: 1) High-level, dynamic code has to be slow by some sort of law of nature; 2) It is sensible to prototype in one language and then recode in another language for speed or deployment; and 3) There a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Informs Journal on Computing
سال: 2022
ISSN: ['1091-9856', '1526-5528']
DOI: https://doi.org/10.1287/ijoc.2022.1158